home *** CD-ROM | disk | FTP | other *** search
- //+--------------------------------------------------------------------------
- //
- // File: pro_ext.h
- //
- // Copyright: (c) 1998, Microsoft Corporation.
- // All Rights Reserved.
- // Information Contained Herein is Proprietary
- // and Confidential.
- //
- // Contents: API Header for the Library Construction Kit
- //
- // Notes:
- //
- //---------------------------------------------------------------------------
-
- #if defined(_MSC_VER)
- #pragma pack(push, 1) // Assume byte structure packing
- #endif
-
- #ifdef __cplusplus
- extern "C" { // Assume C declarations for C++
- #endif
-
- #ifndef PRO_EXT_INCLUDED
- #define PRO_EXT_INCLUDED
-
- //
- // Detect the enviroment we are building:
- //
-
- #if defined(__MWERKS__)
- //
- // MetroWerks CodeWarrior
- //
- #ifndef MAC_OS
- #define MAC_API 1
- #include <windows.h>
- #endif
-
- #pragma align=mac68k
-
- #elif defined(__SC__)
- //
- // Symantic C++
- //
- #ifndef MAC_OS
- #define MAC_API 1
- #include <windows.h>
- #endif
-
- #pragma SC align 1
-
- #undef _HLock
- #undef _NewMenu
-
- #elif defined(_MSC_VER) && (defined(_M_M68K) || defined(_M_MPPC))
- //
- // Microsoft Visual C++
- //
-
- #ifndef MAC_OS
- #define MAC_API 1
-
- #if defined(_M_M68K) || defined(_M_MPPC)
- #pragma pack(push, pro_ext1)
- #include <macos\windows.h>
- #pragma pack(pop, pro_ext1)
- #endif
- #endif
-
- #elif defined(macintosh) || defined(powerc) || defined(applec)
- //
- // Apple's MPW
- //
- #ifndef MAC_OS
- #define MAC_API 1
- #include <windows.h>
- #endif
-
- #undef _HLock
- #undef _NewMenu
-
- #else
-
- #define MAC_API 0
-
- #endif
-
- //
- // Semi-portable way to deal with 'far' pointers
- //
-
- #ifndef FAR
- #if !defined(_WIN32)
- #define FAR
- #endif
- #endif // FAR
-
- //
- // Global Defines:
- //
-
- #ifndef GLOBAL_INCLUDED
-
- #if defined(_WIN32)
-
- #if !defined(_MT) || !defined(_DLL)
- #error The /MD or /MDd compiler switch (Multithreaded Using DLL) is required.
- #endif
-
-
- //
- // Microsoft C for Windows
- //
- #pragma pack(push, pro_ext2)
-
- #include <windows.h>
-
- #pragma pack(pop, pro_ext2)
-
- #define _far
- #define __far
-
-
- // Fastcall calling convention
- #define FASTCALL _fastcall
-
- #else //_WIN32
-
- #define FASTCALL
-
- #endif
-
- typedef unsigned MHANDLE; // A memory handle.
- typedef long NTI; // A name table index.
- typedef unsigned __int64 Ticks; // A timer tick count.
- #define TRUE 1
- #define FALSE 0
- #define YES 1
- #define NO 0
- typedef char TEXT;
-
- #if defined(_WIN32)
- #undef MAX_PATH
- #define MAX_PATH 261
-
- #define MAXFILENAME MAX_PATH /* longest pathname */
- #elif MAC_API || MAC_OS
- #define MAXFILENAME 261 /* longest pathname */
- #else
- #define MAXFILENAME 130 /* longest pathname */
- #endif
-
- #endif // GLOBAL_INCLUDED
-
- typedef unsigned long WHandle; // A Window Handle
- typedef long MENUID; // A Menu id.
- typedef long MenuId; // A Menu id.
- typedef long ITEMID; // An item id.
- typedef long ItemId; // An item id.
-
- typedef int FCHAN; // A file I/O channel.
- #define SCHEMEWIDTH 11
- typedef char Scheme[SCHEMEWIDTH]; // A FoxPro color scheme
-
-
- #ifdef GLOBAL_INCLUDED
-
- #define WHANDLE WHandle
-
- #else
-
- typedef WHandle WHANDLE; // Users can use WHANDLE
-
- #endif
-
- //
- // FoxWindow Defines:
- //
-
- #ifndef FOXWIND_INCLUDED
-
- // _WOpen() flag values:
- #define WCURSOR (1<<1) /* Enable the cursor */
- #define ZOOM (1<<2) /* Permit the window to be zoomed */
- #define ADJ (1<<3) /* Allow Window Size to be Adjusted */
- #define CLOSE (1<<4) /* Permit Closing of System Window */
- #define MOVE (1<<5) /* Allow the window to be moved */
- #define HSCROLLBAR (1<<6) /* Show Horizontal Scrollbars */
- #define VSCROLLBAR (1<<7) /* Show Vertical Scrollbars */
- #define AUTOSCROLL (1<<8) /* Window should Auto scroll */
- #define WEVENT (1<<10) /* Participates in activate/deact events */
- #define SHADOW (1<<11) /* Window will produce a shadow */
- #define WMODAL (1<<12) /* Window is a modal window */
- #define WMINIMIZE (1<<13) /* Window can be minimized */
-
- #endif // FOXWIND_INCLUDED
-
- //
- // FoxEvent Defines:
- //
-
- #ifndef FOXEVENT_INCLUDED
-
- // _FindWindow() return values.
- #define inBorder 0 /* In the window border region */
- #define inHelp 1 /* In the Help region */
- #define inContent 2 /* In the content/text region */
- #define inDrag 3 /* In the Drag/Title bar region */
- #define inGrow 4 /* In the grow/resize region */
- #define inGoAway 5 /* In the goAway/close region */
- #define inZoom 6 /* In the zoom region */
- #define inVUpArrow 7 /* In the vertical up arrow region */
- #define inVDownArrow 8 /* In the vertical down arrow region */
- #define inVPageUp 9 /* In the vertical page up region */
- #define inVPageDown 10 /* In the vertical page down region */
- #define inVThumb 11 /* In the vertical thumb region */
- #define inHUpArrow 12 /* In the horizontal up arrow region */
- #define inHDownArrow 13 /* In the horizontal down arrow region */
- #define inHPageUp 14 /* In the horizontal page up region */
- #define inHPageDown 15 /* In the horizontal page down region */
- #define inHThumb 16 /* In the horizontal thumb region */
- #define inMenuBar 17 /* In the menu bar */
-
-
- // EventRec.what values
- #define nullEvent 0 /* Null */
- #define activateEvent 1 /* Activate window */
- #define deactivateEvent 2 /* Deactivate window */
- #define showEvent 3 /* Show window */
- #define hideEvent 4 /* Hide window */
- #define updateEvent 5 /* Redraw window */
- #define sizeEvent 6 /* Size window event */
- #define moveEvent 7 /* Move window event */
- #define closeEvent 8 /* Close window */
- #define mouseDownEvent 9 /* Left mouse down */
- #define mouseUpEvent 10 /* Left mouse up */
- #define mMouseDownEvent 11 /* Middle mouse down event */
- #define mMouseUpEvent 12 /* Middle mouse up event */
- #define rMouseDownEvent 13 /* Right mouse down event */
- #define rMouseUpEvent 14 /* Right mouse up event */
- #define mouseMoveEvent 15 /* Mouse move event */
- #define mouseWheelEvent 16 /* Mouse wheel event */
- #define keyDownEvent 17 /* Key down */
- #define hotkeyEvent 18 /* An ON KEY LABEL was pressed */
- #define menuInitEvent 19 /* Menu initialization event */
- #define menuUpdateEvent 20 /* Menu update required. No longer used */
- #define menuHitEvent 21 /* Menu hit */
- #define toolbarEvent 22 /* Toolbar button hit */
- #define alarmEvent 25 /* Alarm/Timer event */
-
- #if defined(__WINDOWS__) || defined(_WINDLL) || MAC_API || MAC_OS
- #define zoomEvent 999 /* Not supported in Windows/Mac */
- #else
- #define zoomEvent 13 /* Zoom window event (DOS) */
- #endif
-
- // EventRec.modifiers defines
- #define charCodeMask 0x0fff /* Character code mask */
- #define shiftCodeMask 0xf000 /* Shift key mask */
-
- #define shiftKey 0x1000 /* Either shift key 1 - down */
- #define ctrlKey 0x2000 /* Control key 1 - down */
- #define altKey 0x4000 /* Alternate key 1 - down */
- #define literalKey 0x8000 /* This key is interpreted literally */
-
-
- // EventRec.mbState code defines
- #define leftButton (1<<0) /* Left button status 1 - down */
- #define rightButton (1<<1) /* Right button status 1 - down */
- #define centerButton (1<<2) /* Center button status 1 - down */
-
-
- // EventRec.mcState code defines
- #define posChange (1<<0) /* Position change 1 - change */
- #define leftPressed (1<<1) /* Left button pressed 1 - pressed */
- #define leftReleased (1<<2) /* Left button released 1 - released */
- #define rightPressed (1<<3) /* Right button pressed 1 - pressed */
- #define rightReleased (1<<4) /* Right button released 1 - released */
- #define centerPressed (1<<5) /* Center button pressed 1 - pressed */
- #define centerReleased (1<<6) /* Center button released 1 - released */
-
- #endif // FOXEVENT_INCLUDED
-
-
- // Flag values for _InKey()
- #define SHOWCURSOR (1<<0)
- #define HIDECURSOR (1<<1)
- #define MOUSEACTIVE (1<<2)
-
- // Flag values for the _ALen() function
- enum {
- AL_ELEMENTS,
- AL_SUBSCRIPT1,
- AL_SUBSCRIPT2
- };
-
- // FPFI is a 32 bit pointer to a function returning an int
- typedef long (FAR *FPFI)();
-
- #ifndef GLOBAL_INCLUDED
-
- #if defined(_WIN32)
- typedef struct
- {
- LONG h;
- LONG v;
- } FoxPoint;
-
- #define FoxRect RECT
-
- #elif MAC_API || MAC_OS // end of WIN32
-
- typedef short SHORT;
- typedef long LONG;
- typedef unsigned long ULONG;
- typedef int BOOL;
- typedef unsigned short USHORT;
- typedef Point FoxPoint;
-
- typedef struct
- {
- SHORT top;
- SHORT left;
- SHORT bottom;
- SHORT right;
- } FoxRect;
-
- #endif // end of MAC_OS || MAC_API
- #endif // GLOBAL_INCLUDED
-
- #if defined(_WIN32)
- #define Point FoxPoint
- #define Rect FoxRect
- #endif
-
- #ifndef FOXMENU_INCLUDED
-
- // Menu structure type entry definitions used by _NewMenu()
- #define MPOPUP 1 /* Menu is a POPUP type menu */
- #define MPAD 2 /* Menu is a PAD type menu */
- #define MBAR 3 /* Menu is a BAR type menu */
-
- #endif // FOXMENU_INCLUDED
-
-
- // These are the API identifiers for the System Menu Constants.
- enum {
- _LASTITEM = -2, _FIRSTITEM,
-
- _SYSMENU,
- _SYSMSYSTEM, _SYSMFILE, _SYSMEDIT, _SYSMDATA, _SYSMRECORD, _SYSMPROG,
- _SYSMWINDOW, _SYSMVIEW, _SYSMTOOLS, _SYSMFORMAT,
-
- _SYSTEM,
- _SYSTEMABOUT, _SYSTEMHELP, _SYSTEMMACRO, _SYSTEMSEP100, _SYSTEMFILER,
- _SYSTEMCALC, _SYSTEMDIARY, _SYSTEMSPECIAL, _SYSTEMASCII,
- _SYSTEMCAPTURE, _SYSTEMPUZZLE, _SYSTEMTECHSUPPORT, _SYSTEMOFFICE, _SYSTEMSEP200,
- _SYSTEMSEP300, _SYSTEMHELPSRCH, _SYSTEMHELPHOWTO, _SYSTEMDBASE,
-
- _FILE,
- _FILENEW, _FILEOPEN, _FILECLOSE, _FILECLOSEALL, _FILESEP100, _FILESAVE,
- _FILESAVEAS, _FILEREVERT, _FILESEP200, _FILESETUP, _FILEPRINT, _FILEOSPRINT,
- _FILEPRINTONECOPY, _FILESEP300, _FILEQUIT, _FILEPRINTPREVIEW, _FILEPAGESETUP,
- _FILEIMPORT, _FILEEXPORT, _FILESEP400, _FILESEND,
-
- _EDIT,
- _EDITUNDO, _EDITREDO, _EDITSEP100, _EDITCUT, _EDITCOPY, _EDITPASTE,
- _EDITCLEAR, _EDITSEP200, _EDITSELECTALL, _EDITSEP300, _EDITGOTO,
- _EDITFIND, _EDITFINDAGAIN, _EDITREPLACE, _EDITREPLACEALL, _EDITSEP400,
- #if 0
- _EDITBUILDEXPR, _EDITEXECUTEBLOCK, _EDITSEP600,
- #endif
- _EDITPREF,
-
- _DATA,
- _DATASETUP, _DATABROWSE, _DATASEP100, _DATAAPPEND, _DATACOPY, _DATASORT,
- _DATATOTAL, _DATASEP200, _DATAAVERAGE, _DATACOUNT, _DATASUM, _DATACALCULATE,
- _DATAREPORT, _DATALABEL, _DATASEP300, _DATAPACK, _DATAREINDEX,
-
- _RECORD,
- _RECORDAPPEND, _RECORDCHANGE, _RECORDSEP100, _RECORDGOTO, _RECORDLOCATE,
- _RECORDCONTINUE, _RECORDSEEK, _RECORDSEP200, _RECORDREPLACE, _RECORDDELETE,
- _RECORDRECALL,
-
- _PROG,
- _PROGDO, _PROGSEP100, _PROGCANCEL, _PROGRESUME, _PROGSEP200,
- _PROGCOMPILE, _PROGGENERATE, _PROGDOCUMENT, _PROGGRAPH, _PROGSUSPEND,
- _PROGFORMWIZARD,
-
- _WINDOW,
- _WINDOWHIDE, _WINDOWHIDEALL, _WINDOWSHOWALL, _WINDOWCLEAR, _WINDOWSEP100,
- _WINDOWMOVE, _WINDOWSIZE, _WINDOWZOOM, _WINDOWMINMAX, _WINDOWROTATE,
- _WINDOWCOLOR, _WINDOWSEP200, _WINDOWCOMMAND, _WINDOWDEBUG, _WINDOWTRACE,
- _WINDOWVIEW, _WINDOWARRANGEALL, _WINDOWTOOLBARS,
-
- _VIEW,
-
- _TOOLS,
- _TOOLSWIZARDS, _TOOLSFILLER1, _TOOLSFILLER2, _TOOLSFILLER3, _TOOLSOPTIONS,
- _TOOLSDEBUGGER, _TOOLSTRACE, _TOOLSWATCH, _TOOLSLOCALS, _TOOLSDBGOUT,
- _TOOLSSTACK, _TOOLSFILLER4,
-
- _REPORT, _LABEL,
-
- _BROWSE, _BROWSEMODE, _BROWSEGRID, _BROWSELINK, _BROWSECHPART,
- _BROWSEFILLER1, _BROWSEFONT, _BROWSESFIELD, _BROWSEMFIELD, _BROWSEMPART,
- _BROWSEFILLER2, _BROWSEGOTO, _BROWSESEEK, _BROWSEDELREC, _BROWSEAPPEND,
-
- _MACRO, _DIARY, _DAFILER, _SCREEN,
-
- _MBLDR,
- _MBLDRGLOBAL, _MBLDRMENUOPT, _MBLDRFILLER1, _MBLDRTRYIT, _MBLDRFILLER2,
- _MBLDRINSERT, _MBLDRDELETE, _MBLDRFILLER3, _MBLDRQUICK, _MBLDRGENERATE,
-
- _PROJECT, _RQBE,
-
- _EDITPASTELINK, _EDITLINK,
- _EDITINSERTOBJ, _EDITCVTSTATIC, _EDITSEP500, _PROGSEP300,
-
- _TEXT,
- _TEXTSPELL,
-
- _WIZARDLIST,
- _WIZARDTABLE, _WIZARDQUERY, _WIZARDFORM, _WIZARDREPRT, _WIZARDLABEL,
- _WIZARDMAIL, _WIZARDPIVOT, _WIZARDIMPORT, _WIZARDFOXDOC, _WIZARDSETUP,
- _WIZARDUPSIZING, _WIZARDALL,
-
- _TABLE,
- _TABLEPROPERTIES, _TABLEFILLER1, _TABLEGOTO, _TABLEAPPEND,
- _TABLEDELREC, _TABLEFILLER2, _TABLEDELETE, _TABLERECALL, _TABLESFIELD,
- _TABLEMFIELD, _TABLEMPART, _TABLEFILLER3, _TABLELINK, _TABLECHPART, _TABLEFILLER4,
-
- _EDITOBJECT, _PROGBEAUT, _SYSTEMDOCUMENTATION, _SYSTEMSAMPLEAPPS,
- _MBLDRINSERTBAR, _EDITBEAUTIFY,
- _TOOLSBROWSER,
-
- _WEBMENU,
- _HELPWEBVFPFREESTUFF,_HELPWEBVFPHOMEPAGE, _HELPWEBVFPFAQ,
- _HELPWEBVFPONLINESUPPORT, _HELPWEBFILLER1, _HELPWEBDEVONLY, _HELPWEBVFPSENDFEEDBACK, _HELPWEBDIRECTORY,
- _HELPWEBSEARCH, _HELPWEBTUTORIAL, _HELPWEBFILLER2, _HELPWEBMSFTHOMEPAGE,
-
- // New for 6.0 (always add new ones to the end!)
- _WIZARDAPPLICATION, _WIZARDDATABASE, _WIZARDWEBPUBLISHING,
- _TOOLSGALLERY, _TOOLSCOVERAGE, _TOOLSRUNACTIVEDOC,
- _FILESAVEASHTML,
- _SYSTEMMSDNCONTENTS, _SYSTEMMSDNINDEX, _SYSTEMMSDNSEARCH,
- _HELPWEBMSDNONLINE, _HELPWEBVSPRODNEWS,
-
- };
-
-
-
-
-
-
- #if defined(_WIN32)
- #define _BreakPoint() __asm \
- { \
- int 3h \
- }
- #elif MAC_API || MAC_OS
- #define _BreakPoint() Debugger();
- #endif // _WIN32
-
-
- // Alternate values for parmCount to modify how FoxPro treats the function
- #define INTERNAL -1 /* Not callable from FoxPro */
- #define CALLONLOAD -2 /* Call when library is loaded */
- #define CALLONUNLOAD -3 /* Call when library is unloaded */
-
-
- // The FoxInfo structure contains the descriptions of the functions
- // contained in the library.
- typedef struct {
- char FAR * funcName; /* Function name (all caps) */
- FPFI function; /* Actual function address */
- short parmCount; /* # parameters specified or a flag value */
- char FAR * parmTypes; /* Parameter list description */
- } FoxInfo;
-
- typedef struct _FoxTable {
- struct _FoxTable FAR *nextLibrary; /* Linked list of libraries */
- short infoCount; /* # of functions in this library */
- FoxInfo FAR *infoPtr; /* Function list */
- } FoxTable;
-
-
-
- #if MAC_API
- typedef struct _LARGE_INTEGER {
- unsigned long LowPart;
- long HighPart;
- } LARGE_INTEGER, *PLARGE_INTEGER;
- #endif
-
- typedef LARGE_INTEGER CCY;
-
- // An expression's value
- typedef struct {
- char ev_type;
- char ev_padding;
- short ev_width;
- unsigned ev_length;
- long ev_long;
- double ev_real;
- CCY ev_currency;
- MHANDLE ev_handle;
- unsigned long ev_object;
- } Value;
-
- // A reference to a database or memory variable
- typedef struct {
- char l_type;
- short l_where, /* Database number or -1 for memory */
- l_NTI, /* Variable name table offset */
- l_offset, /* Index into database */
- l_subs, /* # subscripts specified 0 <= x <= 2 */
- l_sub1, l_sub2; /* subscript integral values */
- } Locator;
-
- // A parameter to a library function.
- typedef union {
- Value val;
- Locator loc; /* An 'R' in l_type means the Locator */
- /* part of this union is in use. */
- } Parameter;
-
- // A paramter list to a library function.
- typedef struct {
- short pCount; /* Number of Parameters PASSED. */
- Parameter p[1]; /* pCount Parameters. */
- } ParamBlk;
-
- #if MAC_API || MAC_OS
- typedef WindowPtr HWND;
- #endif // MAC_OS
-
- #if MAC_API || MAC_OS
- #ifndef __WINDOWS__
- #ifndef __QUICKDRAW__
- typedef char * WindowPtr;
- #endif
- #endif
- #endif
-
- #if defined(_WIN32)
- HANDLE _GetAPIHandle(void);
- #endif
-
- typedef long EDPOS; /* Editor text offset */
- typedef long EDLINE; /* Editor line number */
-
- #define MAXFONTNAME 64 /* Max length of a font name */
-
- #ifndef EDITOR_INCLUDED
-
- #define EDCOMMAND 0
- #define EDSCRIP EDCOMMAND
- #define EDPROGRAM 1
- #define EDFILE 2
- #define EDMEMO 3
- #define EDQUERY 6
- #define EDSCREEN 7
- #define EDMENU 8
- #define EDVIEW 9
- #define EDSNIP 10
- #define EDTEXT 11
- #define EDPROC 12
- #define EDPROJTEXT 13
-
- #define RO_BYFILE (0x01) /* readOnly bits */
- #define RO_BYUSER (0x02)
- #define RO_BYRECORD (0x04)
-
- #endif // EDITOR_INCLUDED
-
-
- // An editor's environment.
- typedef struct{
- char filename[MAXFILENAME];
- EDPOS length; /* #bytes in text */
- unsigned short lenLimit; /* Max allowable length. 0 = infinite. */
- unsigned short dirty, /* Has the file been changed? */
- autoIndent, /* Auto indent? */
- backup, /* Make backup files? */
- addLineFeeds, /* add line feeds when saving? */
- autoCompile, /* Shall we auto compile this thing? */
- addCtrlZ, /* add end of file ctrl-z? */
- savePrefs, /* save edit preferences? */
- dragAndDrop, /* Allow drag-and-drop */
- readOnly, /* RO_BYFILE, RO_BYUSER, RO_BYRECORD */
- syntaxColor, /* Syntax coloring in effect for this file? */
- status, /* display status bar? */
- lockPrefs, /* Can update the preferences ? */
- insertMode;
- short wrap; /* if <0, new line at Return only */
-
- EDPOS selStart; /* Selection start */
- EDPOS selEnd; /* Selection end */
- EDPOS selAnchor; /* Selection anchor point */
- short justMode; /* Justification */
- short tabWidth; /* TAB size in spaces */
-
- char fontName[MAXFONTNAME];
- short fontSize;
- short fontStyle;
- short kind; /* Kind of editor session */
- } EDENV;
-
- // Event record definitions
- typedef struct
- { unsigned short what; /* Event code */
- Ticks when; /* Ticks since startup */
- FoxPoint where; /* Mouse location */
- unsigned long message; /* Key/window */
- unsigned long misc; /* Event dependant misc info */
- unsigned long misc2; /* Event dependant misc info */
- unsigned char mbState; /* Mouse buttons state */
- unsigned char mcState; /* Mouse cond activate state */
- unsigned long modifiers;
- } EventRec;
-
-
- // Flags for the _DBStatus function
- #define DB_BOF 1 /* BOF() */
- #define DB_EOF 2 /* EOF() */
- #define DB_RLOCKED 4 /* Current record is RLOCKed */
- #define DB_FLOCKED 8 /* Database is FLOCKed */
- #define DB_EXCLUSIVE 16 /* Database is open EXCLUSIVEly */
- #define DB_READONLY 32 /* Database is READONLY */
-
- // Flag values for _DBLock()
- #define DBL_RECORD 0
- #define DBL_FILE 1
-
- // Flag values for the _NewVar function
- #define NV_PUBLIC 0
- #define NV_PRIVATE 1
-
- // Mode flag values for the __FIO function
- #define FIO_FGETS 0
- #define FIO_FREAD 1
- #define FIO_FPUTS 2
- #define FIO_FWRITE 3
-
- // Mode flag values for the _FOpen function
- #define FO_READONLY 0
- #define FO_WRITEONLY 1
- #define FO_READWRITE 2
-
- // Mode flag values for the _FCreate function
- #define FC_NORMAL 0
- #define FC_READONLY 1
- #define FC_HIDDEN 2
- #define FC_SYSTEM 4
- #define FC_TEMPORARY 128
-
- // Mode flag values for the _FSeek function
- #define FS_FROMBOF 0 /* From beginning of file */
- #define FS_RELATIVE 1 /* From current position */
- #define FS_FROMEOF 2 /* From end of file */
-
- // Mode flag values for the __WStat function
- #define WS_TOP 0
- #define WS_BOTTOM 1
- #define WS_LEFT 2
- #define WS_RIGHT 3
- #define WS_HEIGHT 4
- #define WS_WIDTH 5
- #define WS_SETPORT 7
-
- // Mode flag values for the __WControl function
- #define WC_CLEAR 0
- #define WC_CLOSE 1
- #define WC_HIDE 2
- #define WC_SHOW 3
- #define WC_SELECT 4
- #define WC_SENDBEHIND 5
-
- // Mode flag values for the __WAdjust function
- #define WA_MOVE 0
- #define WA_SIZE 1
- #define WA_POSCURSOR 2
-
- // Mode flag value for the __WPort function
- #define WP_ONTOP 0
- #define WP_OUTPUT 1
-
- // Mode flag value for the _WZoom function
- #define WZ_MAXIMIZED 0
- #define WZ_NORMAL 1
- #define WZ_MINIMIZED 2
-
- // Border strings for typical window borders.
- #define WO_DOUBLEBOX "\x0cd\x0cd\x0ba\x0ba\x0c9\x0bb\x0c8\x0bc\x0cd\x0cd\x0ba\x0ba\x0c9\x0bb\x0c8\x0bc"
- #define WO_SINGLEBOX "\x0c4\x0c4\x0b3\x0b3\x0da\x0bf\x0c0\x0d9\x0c4\x0c4\x0b3\x0b3\x0da\x0bf\x0c0\x0d9"
- #define WO_PANELBORDER "\x0db\x0db\x0db\x0db\x0db\x0db\x0db\x0db\x0db\x0db\x0db\x0db\x0db\x0db\x0db\x0db"
- #define WO_SYSTEMBORDER "\x020\x020\x020\x020\x0fe\x0f0\x020\x0f9\x020\x020\x020\x020\x020\x020\x020\x020"
-
- #ifndef FOXWIND_INCLUDED
-
- // Border string offsets.
- #define selectBorder 0
- #define deselectBorder 8
-
- #define topEdge 0
- #define bottomEdge 1
- #define leftEdge 2
- #define rightEdge 3
- #define topLeftCorner 4
- #define topRightCorner 5
- #define bottomLeftCorner 6
- #define bottomRightCorner 7
- #define maxBorderLen 17 /* Border string length (maximum) */
-
- #endif // FOXWIND_INCLUDED
-
-
- #ifndef COLORS_INCLUDED
-
- #define BLACK_ON 0x00 /* Foreground color attributes */
- #define BLUE_ON 0x01
- #define GREEN_ON 0x02
- #define CYAN_ON 0x03
- #define RED_ON 0x04
- #define MAGENTA_ON 0x05
- #define BROWN_ON 0x06
- #define WHITE_ON 0x07
-
- #define BLACK (BLACK_ON << 4) /* Background color attributes. */
- #define BLUE (BLUE_ON << 4)
- #define GREEN (GREEN_ON << 4)
- #define CYAN (CYAN_ON << 4)
- #define RED (RED_ON << 4)
- #define MAGENTA (MAGENTA_ON << 4)
- #define BROWN (BROWN_ON << 4)
- #define WHITE (WHITE_ON << 4)
-
- #define BRIGHT 0x08 /* Intensify foreground color */
- #define BLINK 0x80 /* Blink this */
-
-
- // The following values are used in the WA_ISSHADOW column of the
- // schemes to indicate whether the window casts a shadow.
-
- #define CASTSSHADOW (BRIGHT | BLACK_ON | BLACK)
- #define CASTSNOSHADOW (BRIGHT | WHITE_ON | WHITE | BLINK)
-
-
- // Color scheme numbers for use by _WOpen and others
- enum
- {
- USER_SCHEME,
- USERMENU_SCHEME,
- MBAR_SCHEME,
- POPUP_SCHEME,
- DIALOG_SCHEME,
- MODAL_POPUP_SCHEME,
- ALERT_SCHEME,
- WINDOW_SCHEME,
- NONMODAL_POPUP_SCHEME,
- BROWSE_SCHEME,
- REPORT_SCHEME,
- ALERT_POPUP_SCHEME
- };
-
- // Color index numbers used by _WSetAttr() and _WAttr()
- enum
- {
- WA_PENCOLOR = -1, /* CURRENT PEN COLOR */
-
- WA_NORMAL, /* normal text */
- WA_ENHANCED, /* enhanced text */
- WA_BORDER, /* window border */
- WA_FOREMOST, /* title when foremost */
- WA_TITLE, /* title otherwise */
- WA_SELECTED, /* selected text */
- WA_HOTKEY, /* control hotkeys */
- WA_SHADOW, /* color of shadows that fall on this window. */
- WA_ENABLED, /* enabled control */
- WA_DISABLED, /* disabled control */
- WA_ISSHADOW /* window casts a shad */
- };
-
-
- #endif // COLORS_INCLUDED
-
-
- //
- // Prototypes for the API Functions
- //
-
- // Streaming output routines:
- void FASTCALL _PutChr(int character);
- void FASTCALL _PutStr(char FAR *string);
- void FASTCALL _PutValue(Value FAR *val);
-
- // Memory management functions:
- MHANDLE FASTCALL _AllocHand(ULONG size);
- void FASTCALL _FreeHand(MHANDLE h);
- void FAR * FASTCALL _HandToPtr(MHANDLE h);
- void FASTCALL _HLock(MHANDLE h);
- void FASTCALL _HUnLock(MHANDLE h);
- ULONG FASTCALL _GetHandSize(MHANDLE h);
- USHORT FASTCALL _SetHandSize(MHANDLE h, ULONG size);
- BOOL FASTCALL _MemAvail(ULONG bytes);
-
- // String handling functions:
- int FASTCALL _StrLen(char FAR *string);
- void FASTCALL _StrCpy(char FAR *dest, char FAR *src);
- int FASTCALL _StrCmp(char FAR *string1, char FAR *string2);
-
- // Memory management functions:
- #if _MSC_VER
- #define _Alloca(size) _alloca(size)
-
- #define _MemCmp(dest, src, length) memcmp(dest, src, length)
- #define _MemMove(dest, src, length) memmove(dest, src, length)
- #define _MemFill(ptr, c, length) memset(ptr, c, length)
-
- #if MAC_API || MAC_OS
-
- void * __cdecl _alloca(size_t);
- #define _Alloca(size) _alloca(size)
-
- #endif
-
- #endif
-
- // Functions to set the return value of a library functiion:
- void FASTCALL _RetVal(Value FAR *val);
- void FASTCALL _RetChar(char FAR *string);
- void FASTCALL _RetInt(long ival, int width);
- void FASTCALL _RetFloat(double flt, int width, int dec);
- void FASTCALL _RetDateStr(char FAR *string);
- void FASTCALL _RetDateTimeStr(char FAR *string);
- void FASTCALL _RetLogical(int);
- void FASTCALL _RetCurrency(CCY money,int width);
-
- // Database Input/Output functions:
- long FASTCALL _DBRecNo(int workarea);
- long FASTCALL _DBRecCount(int workarea);
- int FASTCALL _DBStatus(int workarea);
- int FASTCALL _DBRead(int workarea, long record);
- int FASTCALL _DBWrite(int workarea);
- int FASTCALL _DBAppend(int workarea, int carryflag);
- long FASTCALL _DBRewind(int workarea);
- long FASTCALL _DBSkip(int workarea, long distance);
- long FASTCALL _DBUnwind(int workarea);
- int FASTCALL _DBReplace(Locator FAR *fld, Value FAR *val);
- long FASTCALL _DBSeek(Value FAR *val);
- int FASTCALL _DBLock(int workarea, int what);
- void FASTCALL _DBUnLock(int workarea);
- int FASTCALL _DBAppendRecords(int workarea, unsigned short nrecs, char FAR *buffer);
-
- // Memo Field Input/Output functions:
- FCHAN FASTCALL _MemoChan(int workarea);
- long FASTCALL _AllocMemo(Locator FAR *fld, long size);
- long FASTCALL _FindMemo(Locator FAR *fld);
- long FASTCALL _MemoSize(Locator FAR *fld);
-
- // Memory variable manipulation functions:
- NTI FASTCALL _NewVar(char FAR *name, Locator FAR *loc, int flag);
- int FASTCALL _Release(NTI nti);
- int FASTCALL _Store(Locator FAR *loc, Value FAR *val);
- int FASTCALL _Load(Locator FAR *loc, Value FAR *val);
- long FASTCALL _ALen(NTI nti, int mode);
- int FASTCALL _FindVar(NTI nti, int where, Locator FAR *loc);
- NTI FASTCALL _NameTableIndex(char FAR *name);
-
- // File Input/Output:
-
- FCHAN FASTCALL __FOpen(char FAR *filename, int mode, int create);
-
- #define _FOpen(filename, mode) __FOpen(filename, mode, NO)
- #define _FCreate(filename, mode) __FOpen(filename, mode, YES)
-
- int FASTCALL __FFlush(FCHAN chan, int close);
-
- #define _FFlush(chan) __FFlush(chan, NO)
- #define _FClose(chan) __FFlush(chan, YES)
-
- int FASTCALL __FStat(FCHAN chan, int error);
-
- #define _FEOF(chan) __FStat(chan, NO)
- #define _FError() __FStat(0, YES)
-
- unsigned int FASTCALL __FIO(FCHAN chan, char FAR *buffer, unsigned int maxlen, int mode);
-
- #define _FGets(chan, buffer, maxlen) __FIO(chan, buffer, maxlen, FIO_FGETS)
- #define _FRead(chan, buffer, maxlen) __FIO(chan, buffer, maxlen, FIO_FREAD)
- #define _FPuts(chan, buffer) __FIO(chan, buffer, 0, FIO_FPUTS)
- #define _FWrite(chan, buffer, maxlen) __FIO(chan, buffer, maxlen, FIO_FWRITE)
-
- long FASTCALL _FSeek(FCHAN chan, long position, int mode);
- int FASTCALL _FCHSize(FCHAN chan, long length);
- int FASTCALL _FCopy(FCHAN dchan, long dpos, FCHAN schan, long spos, long len);
-
- #if defined(_WIN32) || MAC_API || MAC_OS
-
- // User Interface routines:
-
- #define PIXELMODE 0
- #define CHARMODE 1
-
- unsigned FASTCALL __ActivateHandler(FPFI handler, short charmode);
-
- #define _ActivateHandler(handler) __ActivateHandler(handler, CHARMODE)
- #define _ActivateHandlerP(handler) __ActivateHandler(handler, PIXELMODE)
-
- void FASTCALL _DeActivateHandler(unsigned);
- unsigned FASTCALL __ActivateIdle(FPFI handler, short charmode);
-
- #define _ActivateIdle(handler) __ActivateIdle(handler, CHARMODE)
- #define _ActivateIdleP(handler) __ActivateIdle(handler, PIXELMODE)
-
- void FASTCALL _DeActivateIdle(unsigned);
-
- int FASTCALL __GetNextEvent(EventRec FAR *event, short charmode);
-
- #define _GetNextEvent(event) __GetNextEvent(event, CHARMODE)
- #define _GetNextEventP(event) __GetNextEvent(event, PIXELMODE)
-
- void FASTCALL __DefaultProcess(EventRec FAR *event, short charmode);
-
- #define _DefaultProcess(event) __DefaultProcess(event, CHARMODE)
- #define _DefaultProcessP(event) __DefaultProcess(event, PIXELMODE)
-
- #define _MousePos(pt) __MousePos(pt, CHARMODE)
- #define _MousePosP(pt) __MousePos(pt, PIXELMODE)
-
- int FASTCALL __MousePos(Point FAR *pt, int charmode);
-
- // Windowing routines:
-
- int FASTCALL __FindWindow(WHANDLE FAR *wh, Point pt, int charmode);
- void FASTCALL __GlobalToLocal(Point FAR *pt, WHANDLE wh, int charmode);
- WHANDLE FASTCALL __WOpen(int top, int left, int bottom, int right, int flag, int
- scheme_num, Scheme FAR *scheme, char FAR *bord, int pixelmode);
-
- #define _WOpenP(top, left, bottom, right, flag, scheme_num, scheme, bord) __WOpen(top, left, bottom, right, flag, scheme_num, scheme, bord, PIXELMODE)
- #define _WOpen(top, left, bottom, right, flag, scheme_num, scheme, bord) __WOpen(top, left, bottom, right, flag, scheme_num, scheme, bord, CHARMODE)
-
- #define _GlobalToLocal(pt, wh) __GlobalToLocal(pt, wh, CHARMODE)
- #define _GlobalToLocalP(pt, wh) __GlobalToLocal(pt, wh, PIXELMODE)
-
- #define _FindWindow(wh, pt) __FindWindow(wh, pt, CHARMODE)
- #define _FindWindowP(wh, pt) __FindWindow(wh, pt, PIXELMODE)
-
-
- #define _WTop(wh) ((unsigned)__WStat(wh, WS_TOP, CHARMODE))
- #define _WBottom(wh) ((unsigned)__WStat(wh, WS_BOTTOM, CHARMODE))
- #define _WLeft(wh) ((unsigned)__WStat(wh, WS_LEFT, CHARMODE))
- #define _WRight(wh) ((unsigned)__WStat(wh, WS_RIGHT, CHARMODE))
- #define _WHeight(wh) ((unsigned)__WStat(wh, WS_HEIGHT, CHARMODE))
- #define _WWidth(wh) ((unsigned)__WStat(wh, WS_WIDTH, CHARMODE))
- #define _WSetPort(wh) ((WHANDLE)__WStat(wh, WS_SETPORT, CHARMODE))
-
- #define _WTopP(wh) ((unsigned)__WStat(wh, WS_TOP, PIXELMODE))
- #define _WBottomP(wh) ((unsigned)__WStat(wh, WS_BOTTOM, PIXELMODE))
- #define _WLeftP(wh) ((unsigned)__WStat(wh, WS_LEFT, PIXELMODE))
- #define _WRightP(wh) ((unsigned)__WStat(wh, WS_RIGHT, PIXELMODE))
- #define _WHeightP(wh) ((unsigned)__WStat(wh, WS_HEIGHT, PIXELMODE))
- #define _WWidthP(wh) ((unsigned)__WStat(wh, WS_WIDTH, PIXELMODE))
-
- unsigned long FASTCALL __WStat(WHANDLE wh, int mode, int pixelmode);
-
- #define _WMove(wh, pt) __WAdjust(wh, pt, WA_MOVE, CHARMODE)
- #define _WSize(wh, pt) __WAdjust(wh, pt, WA_SIZE, CHARMODE)
- #define _WPosCursor(wh, pt) __WAdjust(wh, pt, WA_POSCURSOR, CHARMODE)
- #define _WMoveP(wh, pt) __WAdjust(wh, pt, WA_MOVE, PIXELMODE)
- #define _WSizeP(wh, pt) __WAdjust(wh, pt, WA_SIZE, PIXELMODE)
- #define _WPosCursorP(wh, pt) __WAdjust(wh, pt, WA_POSCURSOR, PIXELMODE)
-
- void FASTCALL __WAdjust(WHANDLE wh, Point pt, int mode, int charmode);
- void FASTCALL __WScroll(WHANDLE wh, Rect r, int dv, int dh, int charmode);
-
- #define _WScroll(wh, r, dv, dh) __WScroll(wh, r, dv, dh, CHARMODE)
- #define _WScrollP(wh, r, dv, dh) __WScroll(wh, r, dv, dh, PIXELMODE)
- #define _WClearRect(wh, r) __WScroll(wh, r, 0, 0, CHARMODE);
- #define _WClearRectP(wh, r) __WScroll(wh, r, 0, 0, PIXELMODE);
-
- #define _WGetCursor(wh) __WGetCursor(wh, CHARMODE)
- #define _WGetCursorP(wh) __WGetCursor(wh, PIXELMODE)
-
- Point FASTCALL __WGetCursor(WHANDLE wh, int);
-
- void FASTCALL __SetMenuPoint(MenuId menuid, FoxPoint loc, int charmode);
-
- #define _SetMenuPoint(menuid, loc) __SetMenuPoint(menuid, loc, CHARMODE)
- #define _SetMenuPointP(menuid, loc) __SetMenuPoint(menuid, loc, PIXELMODE)
-
-
- #else // defined(_WIN32) || MAC_API
-
- // User Interface routines:
-
- unsigned _ActivateHandler(FPFI handler);
- void _DeActivateHandler(unsigned);
- unsigned _ActivateIdle(FPFI handler);
- void _DeActivateIdle(unsigned);
- int _GetNextEvent(EventRec FAR *event);
- void _DefaultProcess(EventRec FAR *event);
- int _MousePos(Point FAR *pt);
-
- // Windowing routines:
-
- int _FindWindow(WHandle FAR *wh, Point pt);
- void _GlobalToLocal(Point FAR *pt, WHandle wh);
- WHandle _WOpen(int top, int left, int bottom, int right, int flag, int
- scheme_num, Scheme FAR *scheme, char FAR *bord);
-
- #define _WTop(wh) ((unsigned)__WStat(wh, WS_TOP))
- #define _WBottom(wh) ((unsigned)__WStat(wh, WS_BOTTOM))
- #define _WLeft(wh) ((unsigned)__WStat(wh, WS_LEFT))
- #define _WRight(wh) ((unsigned)__WStat(wh, WS_RIGHT))
- #define _WHeight(wh) ((unsigned)__WStat(wh, WS_HEIGHT))
- #define _WWidth(wh) ((unsigned)__WStat(wh, WS_WIDTH))
- #define _WSetPort(wh) ((WHandle)__WStat(wh, WS_SETPORT))
-
- unsigned long __WStat(WHandle wh, int mode);
-
- #define _WMove(wh, pt) __WAdjust(wh, pt, WA_MOVE)
- #define _WSize(wh, pt) __WAdjust(wh, pt, WA_SIZE)
- #define _WPosCursor(wh, pt) __WAdjust(wh, pt, WA_POSCURSOR)
-
- void __WAdjust(WHandle wh, FoxPoint pt, int mode);
-
- void _WScroll(WHandle wh, Rect r, int dv, int dh);
- #define _WClearRect(wh, r) _WScroll(wh, r, 0, 0);
-
- Point _WGetCursor(WHandle wh);
- void _SetMenuPoint(MenuId menuid, Point loc);
-
- #endif // __WINDOWS__ || _WINDLL
-
-
- int FASTCALL _InKey(int timeout, int flag);
- void FASTCALL _RefreshDisplay(void);
- void FASTCALL _RefreshVideo(void);
-
- #define _WClear(wh) __WControl(wh, WC_CLEAR)
- #define _WClose(wh) __WControl(wh, WC_CLOSE)
- #define _WHide(wh) __WControl(wh, WC_HIDE)
- #define _WShow(wh) __WControl(wh, WC_SHOW)
- #define _WSelect(wh) __WControl(wh, WC_SELECT)
- #define _WSendBehind(w) __WControl(w, WC_SENDBEHIND)
-
- void FASTCALL __WControl(WHANDLE wh, int mode);
-
- #define _WOnTop() __WPort(WP_ONTOP)
- #define _WGetPort() __WPort(WP_OUTPUT)
-
- WHandle FASTCALL __WPort(int mode);
-
- void FASTCALL _WZoom(WHANDLE wh, int newstate);
-
- void FASTCALL __WSetTitle(WHANDLE wh, char FAR *text, int mode);
-
- #define WT_SETFOOTER 0
- #define WT_SETTITLE 1
- #define WT_GETFOOTER 2
- #define WT_GETTITLE 3
-
- #define _WSetFooter(wh, footer) __WSetTitle(wh, footer, WT_SETFOOTER)
- #define _WSetTitle(wh, title) __WSetTitle(wh, title, WT_SETTITLE)
- #define _WFooter(wh, footer) __WSetTitle(wh, footer, WT_GETFOOTER)
- #define _WTitle(wh, title) __WSetTitle(wh, title, WT_GETTITLE)
-
- int FASTCALL _WAttr(WHANDLE wh, int color);
- void FASTCALL _WSetAttr(WHANDLE wh, int color, int attr);
- void FASTCALL _WPutChr(WHANDLE wh, int character);
- void FASTCALL _WPutStr(WHANDLE wh, char FAR *str);
-
- // Functions to execute FoxPro statements and evaluate FoxPro expressions:
-
- int FASTCALL _Execute(char FAR *stmt);
- int FASTCALL _Evaluate(Value FAR *val, char FAR *expr);
-
- // Menuing functions:
-
- ITEMID FASTCALL __MenuStat(long x, int mode);
-
- #define _MenuId(literal) __MenuStat(literal, 0)
- #define _GetNewItemId(menuid) __MenuStat(menuid, 1)
- #define _CountItems(menuid) __MenuStat(menuid, 2)
- #define _GetNewMenuId() __MenuStat(0, 3)
-
- int FASTCALL _MenuInteract(MenuId FAR *menuid, ItemId FAR *itemid);
-
- void FASTCALL __MenuAction(MenuId menuid, int mode);
-
- #define _ActivateMenu(menuid) __MenuAction(menuid, 0)
- #define _DeActivateMenu(menuid) __MenuAction(menuid, 1)
- #ifndef GLOBAL_INCLUDED
- #define _DisposeMenu(menuid) __MenuAction(menuid, 2)
- #endif
-
- int FASTCALL _NewMenu(int mtype, MenuId menuid);
- void FASTCALL _SetMenuColor(MenuId menuid, int scheme);
- ItemId FASTCALL _GetItemId(MenuId menuid, long index);
- int FASTCALL _NewItem(MenuId menuid, ItemId itemid, ItemId beforeid, char FAR *prompt);
- void FASTCALL _DisposeItem(MenuId menuid, ItemId itemid);
-
- void FASTCALL __GetItemText(MenuId menuid, ItemId itemid, char FAR *text, int mode);
-
- #define _GetItemText(menuid, itemid, text) __GetItemText(menuid, itemid, text, 0)
- #define _GetOSPrompt(menuid, itemid, text) __GetItemText(menuid, itemid, text, 1)
-
- void FASTCALL _SetItemSubMenu(MenuId menuid, ItemId itemid, MenuId submenuid);
- MenuId FASTCALL _GetItemSubMenu(MenuId menuid, ItemId itemid);
- void FASTCALL _SetItemColor(MenuId menuid, ItemId itemid, int scheme);
- void FASTCALL _SetItemText(MenuId menuid, ItemId itemid, char FAR *text);
- int FASTCALL _GetItemCmdKey(MenuId menuid, ItemId itemid, char FAR *text);
- void FASTCALL _SetItemCmdKey(MenuId menuid, ItemId itemid, int key, char FAR *text);
- void FASTCALL _OnSelection(MenuId menuid, ItemId itemid, FPFI routine);
-
- // FoxPro Dialogs:
- int FASTCALL _Dialog(int scheme, char FAR *text, char FAR *button1,
- char FAR *button2, char FAR *button3, int def, int esc);
-
-
- // Error Handling:
- void FASTCALL _Error(int code);
- void FASTCALL _UserError(char FAR *message);
- int FASTCALL _ErrorInfo(int code, char FAR *message);
-
-
- #define ED_SAVENOASK 0
- #define ED_SAVEASK 1
- #define ED_SAVEAS 2
-
- //
- // Mode flags for the editor functions:
- //
-
- /* Mode flag values for the __EdPos function */
- #define ED_SETPOS 0
- #define ED_GETLINEPOS 1
- #define ED_GETLINENUM 2
- #define ED_GETPOS 3
-
- /* Mode flag values for the __EdScroll function */
- #define ED_SCROLLTOPOS 0
- #define ED_SCROLLTOSEL 1
-
- /* Mode flag values for the __EdManip function */
- #define ED_SENDKEY 0
- #define ED_DELETE 1
- #define ED_INDENT 2
- #define ED_COMMENT 3
- #define ED_PROPERTIES 4
- #define ED_PROCLIST 5
-
- /* Mode flag values for the __EdClipBrd function */
- #define ED_COPY 0
- #define ED_CUT 1
- #define ED_PASTE 2
- #define ED_UNDO 3
- #define ED_REDO 4
-
- /* Mode flag values for the __EdEnv function */
- #define ED_SETENV 0
- #define ED_GETENV 1
-
- /* Mode flag values for the __EdRevert function */
- #define ED_REVERT 0
- #define ED_SAVE 1
-
- /* Mode flag values for the __WFindTitle function */
- #define WFINDTITLE 0
- #define WMAINWINDOW 1
- #define WFUNCTIONMASK 0x0f
- #define WCLIENTFLAG 0x10
-
-
- // Editor Functions:
-
- WHandle FASTCALL _EdOpenFile(char FAR *filename, int mode);
- int FASTCALL _EdCloseFile(WHandle wh, int opt);
- void FASTCALL __EdRevert(WHandle wh, int mode);
-
- #define _EdRevert(wh) __EdRevert(wh, ED_REVERT)
- #define _EdSave(wh) __EdRevert(wh, ED_SAVE)
-
- #define _EdSetPos(wh, pos) (__EdPos(wh, (EDPOS) pos, ED_SETPOS))
- #define _EdGetLinePos(wh, line) ((EDPOS)__EdPos(wh, (EDLINE) line, ED_GETLINEPOS))
- #define _EdGetLineNum(wh, pos) ((EDLINE)__EdPos(wh, (EDPOS) pos, ED_GETLINENUM))
- #define _EdGetPos(wh) ((EDPOS)__EdPos(wh, 0, ED_GETPOS))
-
- EDPOS FASTCALL __EdPos(WHandle wh, long pos, int mode);
- int FASTCALL _EdPosInView(WHandle wh, EDPOS pos);
-
- #define _EdScrollToPos(wh, pos, flag) (__EdScroll(wh, pos, flag, ED_SCROLLTOPOS))
- #define _EdScrollToSel(wh, flag) (__EdScroll(wh, 0, flag, ED_SCROLLTOSEL))
-
- void FASTCALL __EdScroll(WHandle wh, EDPOS pos, int flags, int mode);
-
- #define _EdSendKey(wh, key) __EdManip(wh, key, ED_SENDKEY)
- #define _EdDelete(wh) __EdManip(wh, 0, ED_DELETE)
- #define _EdIndent(wh, tabs) __EdManip(wh, tabs, ED_INDENT)
- #define _EdComment(wh, tabs) __EdManip(wh, tabs, ED_COMMENT)
- #define _EdProperties(wh) __EdManip(wh, 0, ED_PROPERTIES)
- #define _EdProcList(wh) __EdManip(wh, 0, ED_PROCLIST)
-
- void FASTCALL __EdManip(WHandle wh, int n, int mode);
-
- EDPOS FASTCALL _EdSkipLines(WHandle wh, EDPOS pos, int n);
- void FASTCALL _EdInsert(WHandle wh, char FAR *str, unsigned long len);
- TEXT FASTCALL _EdGetChar(WHandle wh, EDPOS pos);
- void FASTCALL _EdGetStr(WHandle wh, EDPOS pos1, EDPOS pos2, TEXT FAR *str);
-
- #define _EdCopy(wh) __EdClipBrd(wh, ED_COPY)
- #define _EdCut(wh) __EdClipBrd(wh, ED_CUT)
- #define _EdPaste(wh) __EdClipBrd(wh, ED_PASTE)
- #define _EdUndo(wh) __EdClipBrd(wh, ED_UNDO)
- #define _EdRedo(wh) __EdClipBrd(wh, ED_REDO)
-
- void FASTCALL __EdClipBrd(WHandle wh, int mode);
- void FASTCALL _EdSelect(WHandle wh, EDPOS pos1, EDPOS pos2);
- void FASTCALL _EdUndoOn(WHandle wh, int flag);
- void FASTCALL _EdActive(WHandle wh, int flag);
- int FASTCALL _EdLastError(WHandle wh);
-
- #define _EdSetEnv(wh, env) __EdEnv(wh, env, ED_SETENV)
- #define _EdGetEnv(wh, env) __EdEnv(wh, env, ED_GETENV)
-
- #define _WFindTitle(title) __WFindTitle(title, WFINDTITLE)
- #define _WFindClientTitle(title) __WFindTitle(title, WFINDTITLE | WCLIENTFLAG)
- #define _WMainWindow() __WFindTitle(0, WMAINWINDOW)
- #define _WMainClientWindow() __WFindTitle(0, WMAINWINDOW | WCLIENTFLAG)
-
-
- int FASTCALL __EdEnv(WHandle, EDENV FAR *, int);
- #if MAC_API || MAC_OS
- WindowPtr _WhToHwnd(WHandle);
- #else
- HWND FASTCALL _WhToHwnd(WHandle);
- #endif
- WHandle FASTCALL __WFindTitle(char FAR *, int);
-
- // Object model extensions
- #define _WGetObjectClientWindow(objct) __WGetObjectWindow(objct, WCLIENTFLAG)
- #define _WGetObjectWindow(objct) __WGetObjectWindow(objct, 0)
-
- WHandle FASTCALL __WGetObjectWindow(Value FAR *, int);
-
- int FASTCALL _SetObjectProperty(Value FAR *objct, char FAR *prop, Value FAR *val, int fadd);
- int FASTCALL _GetObjectProperty(Value FAR *val, Value FAR *objct, char FAR *prop);
-
- int FASTCALL _ObjectReference(Value FAR *objct);
- int FASTCALL _ObjectRelease(Value FAR *objct);
- int FASTCALL _ObjectCmp(Value FAR *objct1, Value FAR *objct2);
- void FASTCALL _FreeObject(Value FAR *objct);
-
- //_OCXAPI will allow developers of OCXs to use the LCK
- // Sample call: _OCXAPI(AfxGetInstanceHandle(),DLL_PROCESS_ATTACH);
-
- BOOL WINAPI _OCXAPI(HINSTANCE hInstance,DWORD dwReason);
-
- #ifdef GLOBAL_INCLUDED
- #undef WHANDLE
- #endif
-
- #endif // PRO_EXT_INCLUDED
-
- #ifdef __cplusplus
- } // End of extern "C" {
- #endif
-
- #if defined(__SC__)
- #pragma SC align
- #elif defined(__MWERKS__)
- #pragma align=reset
- #elif defined(_MSC_VER)
- #pragma pack(pop) // Restore structure packing
- #endif
-